package cn.czxy.service.file;

import cn.czxy.config.FileDao;
import cn.czxy.config.FileService;
import cn.czxy.dao.file.FileDaoIpml;
import cn.czxy.domain.AllFile;
import cn.czxy.utils.FileTypeUtlis;

import java.io.File;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;

/**
 * @author 杨先生
 * @version 1.0
 * @date 2019/4/12
 */
public class FileServiceImpl  implements FileService{
    /** 用户查询dao方法 */
    private FileDao dao = new FileDaoIpml();



    /**
     * 对获取路径下的所有文件进行封装
     * @param path
     * @return
     */
    @Override
    public List<AllFile> findFlieByPath(String path) {
        List<AllFile> alist = new ArrayList<>();
        File[] files = dao.findFlieByPath(path);
        if (files == null){
            return null;
        }
        for (File file : files) {
            AllFile f1 = new AllFile();
            String name = file.getName();
            f1.setName(name);
            if (file.isDirectory()){
                f1.setType("0");
            }else{
                f1.setType(FileTypeUtlis.getFileType(file.getAbsolutePath()));
            }
            //添加文件的真实路径 D盘开始的路径
            f1.setRealPath(file.getAbsolutePath());
            //添加项目路径 获取项目路径 files/user1/1mages/1.jpg
            String filename = file.getAbsolutePath().substring(file.getAbsolutePath().indexOf("files\\"));
            try {
                filename = URLEncoder.encode(filename,"utf-8");
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }
            f1.setFileName(filename);
            alist.add(f1);
        }
        return alist;
    }
}
